/**
 * 客户信息
 * @author rxliuli
 */
class BaseServiceInfo {
    /**
     * 构造函数
     * @param {Object} [option] 可选参数
     * @param {Number} [option.id] 主键
     * @param {String} [option.serviceContent] 服务内容，500： 基础应用，501：网络媒体，502：电子政务、电子商务
     * 503：数字娱乐， 504：其他， 1：即时通信， 2：搜索引擎， 3：综合门户
     * 4：网上邮局， 5：网络新闻， 6：博客/个人空间， 7：网络广告/信息
     * 8：单位门户网站， 9：网络购物， 10：网上支付， 11：网上银行
     * 12：网上炒股/股票基金， 13：网络游戏， 14：网络音乐， 15：网络影视
     * 16：网络图片， 17：网络软件/下载， 18：网上求职， 19：网上交友/婚介
     * 20：网上房产， 21：网络教育， 22：网站建设， 23：WAP， 24：其他
     * @param {Number} [option.setMode] 接入方式， 0：专线，1：虚拟主机， 2：主机托管， 3：整机租用， 999：其他
     * @param {Number} [option.businessType] 业务类型， 1：IDC业务，2：ISP业务
     * @param {Number} [option.regType] 备案类型,  0：无， 1：经营性网站（ICP经营许可证号）， 2：非经营性网站（备案登记号）， 3：SP（备案登记号）， 4：BBS（BBS备案号）， 999：其他
     * @param {String} [option.regId] 备案号或许可证号
     * @param {Number} [option.customerId] 客户id，引 base_customer 表主键
     * @param {Number} [option.holdId] 占用机房 id，关联 {@link BaseHousesHoldInfo#getId()}
     * @param {...Object} [option.args] 其他参数
     */
    constructor({
                    id,
                    serviceContent,
                    setMode,
                    businessType,
                    regType,
                    regId,
                    customerId,
                    holdId,
                    ...args
                } = {}) {
        this.id = id
        this.serviceContent = serviceContent
        this.setMode = setMode
        this.businessType = businessType
        this.regType = regType
        this.regId = regId
        this.customerId = customerId
        this.holdId = holdId
        Object.assign(this, args)
    }
}